/**
 * @author Administrator
 */

/**
 * ajax的工具类
 */
function AjaxUtils(){
	
}

/**
 * ajax的get请求
 */
AjaxUtils.get=function(url,data,callBack){
	$.get(url,data,function(data,textStatus){
		if(textStatus=='success'){
			callBack(data);
		}
	},'html');
}

/**
 * ajax的post请求
 */
AjaxUtils.post=function(url,data,callBack){
	$.post(url,data,function(data,textStatus){
		if(textStatus=='success'){
			callBack(data);
		}
	},'html');
}



AjaxUtils.callBack=function(data){
	if(textStatus=='success'){
		var json=eval('('+data+')');
	}
}


/**
 * 给形似<a href="" ajax='get'></a>绑定ajax的get请求
 * @param {Object} callBack
 */
AjaxUtils.bindGet=function(callBack){
	 $(document).delegate("a[ajax='get']","click",function(){
		var url=this.href;
		var data={};
		$.post(url,data,function(data, textStatus){
			if(textStatus=="success"){
				callBack(data);
			}
		
		},'html');
		return false;
	}); 
}

/**
 * 给形似<a href="" ajax='post'></a>绑定ajax的post请求
 * @param {Object} callBack
 */
AjaxUtils.bindPost=function(callBack){
	 $(document).delegate("a[ajax='post']","click",function(){
	 	var obj=AjaxUtils.parseUrl(this.href);
		var url=obj.url;
		var data={};
		if(obj.data){
			data=obj.data;
		}
		$.post(url,data,function(data, textStatus){
			if(textStatus=="success"){
				callBack(data);
			}
		
		},'html');
		return false;
	}); 
}

 /**  
   * 解析载入的URL,返回参数对象{url:"",data:{}}，其中url表示不带参数的url，data表示数据对象 
   *1、如果data为undefined或者为null表示没有参数
   *
  */  
AjaxUtils.parseUrl=function(url){  
		//如果URL为空或不带参数则直接返回null  
		var result={};
		var returnUrl=url;
		if (null == url || url.indexOf("?") == -1)  
		{  
			result.url=returnUrl;
			return result;  
		}    
		//获得不带参数的url
		var argsUrl = url.split("?")[0];  
		var dataStr = url.split("?")[1];  
		  
		returnUrl=argsUrl;
	    result.url=returnUrl;
		if (dataStr.indexOf("=") == -1)  
		{  
			return result;  
		}  
		 //将参数解析为object字符串
		var properties = dataStr.replace(/&/g, "',").replace(/=/g, ":'") + "'";  
		//alert(properties);
		var obj = null;  
		var template= "obj = {p}";  
		eval(template.replace(/p/g, properties)); 
		result.data=obj;
		return result;  
}  


